Typically, processors are constructed from a variety of very large scale integrated circuit (VLSI) chips used as building blocks in an architecture which can be divided into two components; an instruction processor that supervises the order and decoding of instructions to be executed, and a data processor which performs the operations called for by the instructions on the data. These components are often two different chips mounted on a circuit board, or can be fabricated on a single chip in two dimensional geometry. The instruction processor normally includes a program memory which contains instructions. Each instruction includes a plurality of bits to control the elements within the data processor. In addition, the controller is used to issue addresses that are applied to the program memory to access the instruction sequence to be executed. It is desirable to execute these instructions as fast as possible, preferably in one clock cycle or less. However, due to the geometry of laying out the microprocessor using existing methods, the difficulties in increasing speed also increase the cost and complexity of manufacturing.
Data processors have been categorized as either an 8, 16 or 32-bit device. They are capable of performing arithmetic or logic operations on 8, 16, or 32 bits, respectively. Some processors have limited ability to perform operations on a full-sized word. For example, a 16-bit data processor may be able to perform operations on the least-significant byte (8 bits) of a full-sized 16-bit word. In one such approach, a 16-bit processor is formed from a parallel combination of four-bit processors. This approach is typically referred to as the "bit-sliced" technique.
This method entails extensive parallel interconnection of the terminal pins of the data processor chips. Additionally, space, is at a premium on the printed circuit board used to mount the micro-processor chips and is consumed by the data processor chips and the busses used to connect the chips.
While previous 8- and 16-bit data processors have been available using bipolar semiconductor fabrication techniques, 32-bit data processors have used a slower metal oxide silicon fabrication procedure. Also contributing to speed degradation, previous processors used a single multiplexed input/output bus, which typically imposed limits on input and output operation.
The components of each chip are typically made from thousands of transistors and inverters. These elements are used to form gate arrays, shift registors, memories and other components. The speed of operation of the data processor, and therefore the microprocessor itself, depends in large part on the architecture of its internal circuitry. Throughput (the time it takes for an instruction to be executed) depends, in part, upon the number of gates data must pass through during its processing. Also, operating speed can be increased by combining several operations into one instruction. A continuing need exists however to provide hardware capable of faster throughput where a larger number of instructions can be executed within the cycle time of the device and at the same time provide such a structure in a smaller space that is dependable, relatively inexpensive and is constructed using the simplest fabrication procedure possible.